package com.ruoyi.develop.lvYifahuomingxi.service;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.ruoyi.develop.lvYifahuomingxi.domain.LvYifahuomingxi;

/**
 * 发货单明细Service接口
 * @author qh
 * @date 2024-10-08
 */
public interface ILvYifahuomingxiService {
    /**
     * 查询发货单明细
     * @param id 发货单明细主键
     * @return 发货单明细
     */
    public LvYifahuomingxi selectById(String id);

    public LvYifahuomingxi selectWeikaMoney(String status);

    public LvYifahuomingxi selectWeikaMoneyQishen(String fahuoId);
    /**
     * 查询发货单明细列表
     * @param entity 发货单明细
     * @return 发货单明细集合
     */
    public List<LvYifahuomingxi> selectList(LvYifahuomingxi entity);
    public List<LvYifahuomingxi> selectListMerge(LvYifahuomingxi entity);

    public List<LvYifahuomingxi> listNoCommit(LvYifahuomingxi entity);

    public List<LvYifahuomingxi> listNoFahuo(LvYifahuomingxi entity);

    public List<LvYifahuomingxi> selectByFahuoIdGrouByProid(String fahuoId);

    public List<LvYifahuomingxi> selectByTogzhiId(String togzhiId);

    public List<LvYifahuomingxi> selectByFahuoId(String fahuoId);
    public List<LvYifahuomingxi> selectByFahuoIdDistinctProNo(String fahuoId);
    public List<LvYifahuomingxi> selectByFahuoIdDistinctProNoZancun();
    /**
     * 新增发货单明细
     * @param entity 发货单明细
     * @return 结果
     */
    public int insert(LvYifahuomingxi entity);

    public void insertBatch(LvYifahuomingxi entity);

    public void updateForFh(LvYifahuomingxi entity);
    /**
     * 修改发货单明细
     * @param entity 发货单明细
     * @return 结果
     */
    public int update(LvYifahuomingxi entity);

    /**
     * 批量删除发货单明细
     * @param ids 需要删除的发货单明细主键集合
     * @return 结果
     */
    public int deleteByIds(String[] ids);

    public void deleteByFahuoId(String fahuoId);
    /**
     * 删除发货单明细信息
     * @param id 发货单明细主键
     * @return 结果
     */
    public int deleteById(String id);

    public int updateDate(String tzId,String fahuoId,Date fahuoDate,Date jiaohuoDate);
    public int updateByFahuoId(String tzId,String fahuoId,String fahuoNo,String isTijiao);

    public int updateByFahuoIdQishen(String fahuoId,String isTijiao);

    public int updateStatusByFahuoId(String fahuoId,String status);

    void insertSendDetailFormGoodsSale(LvYifahuomingxi entity);

    BigDecimal selectFahuoCountBuySaleId(String id);
}
